qemu-img 管理虚拟机硬盘
十一月 22, 2025 更新: 十月 09, 2026 [虚拟化与容器] #qemu-img说明:本文原有的"快照链 / 快照合并 / qemu-img 合并"等章节已整理合并进《libvirt 外部快照删除:从 QCOW2 链到 AppArmor 权限陷阱》;现仅保留启动修复与剪切板共享部分供追溯。
启动失败后修复
在宿主机上挂载新镜像,更新 fstab + 重建 initramfs
# 安装必要工具(如未安装)
sudo apt install libguestfs-tools # Debian/Ubuntu
# 或 yum install libguestfs-tools # RHEL/CentOS
# 使用 guestfish 挂载并检查/修复
sudo guestfish --rw -a /var/lib/libvirt/images/107/vm-107-disk-0-standalone.qcow2
> run
> list-filesystems
> mount /dev/sda1 / # 假设 / 是 sda1(根据你的分区调整!)
> mount /dev/sdb1 /mnt # 如果 /home 或其他在 sdb1,按需挂
# 查看当前 UUID(关键!)
> sh "blkid"
# ✅ 更新 fstab 中的 UUID 为新值
> sh "sed -i 's/old-xxxx-yyyy-zzzz/new-1111-2222-3333/g' /etc/fstab"
# —— 如果是 Debian/Ubuntu:
> sh "chroot / update-initramfs -u -k all"
# 退出
> exit
临时绕过(仅用于诊断或紧急恢复) 在 GRUB 启动界面: e(edit)
添加启动参数 init=/bin/bash
mount -o remount,rw /
cat /etc/fstab
lsblk
blkid
mount -a
exec /sbin/init
systemctl set-default graphical
update-grub
reboot
启动虚拟机的剪切板共享
sudo apt install spice-vdagent
sudo virsh dumpxml debian12 | grep graphics
sudo virsh domdisplay debian12